package net.hserver.admin.system.entity;


import cn.hserver.plugin.web.annotation.validate.NotNull;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;

/**
 * 操作日志
 *

 */
@Getter
@Setter
@Table("tab_oper_log")
public class OperLog {

    private static final long serialVersionUID = 1L;

    /**
     * 日志主键
     */
    @Id(value = "oper_id", keyType = KeyType.Auto)
    private Long operId;

    /**
     * 请求方式
     */
    private String requestMethod;

    /**
     * 请求URL
     */
    private String operUrl;

    /**
     * 类名
     */
    private String className;

    /**
     * 方法名称
     */
    private String method;

    /**
     * 请求参数
     */
    private String operParam;

    /**
     * 返回参数
     */
    private String jsonResult;

    /**
     * IP地址
     */
    private String ip;

    /**
     * IP 来源
     */
    private String ipSource;

    /**
     * 操作状态（1正常 0异常）
     */
    private Boolean status;

    /**
     * 操作人员
     */
    private String operName;

    /**
     * 错误消息
     */
    private String errorMsg;

    /**
     * 操作时间
     */
    @Column(onInsertValue = "now()")
    private LocalDateTime operTime;
    /**
     * 开始时间
     */
    @Column(ignore = true)
    private LocalDateTime startTime;
    /**
     * 结束时间
     */
    @Column(ignore = true)
    private LocalDateTime endTime;


}
